libs/guest: Fix resource leaks in xc_core_arch_map_p2m_tree_rw()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 3 Mar 2023 07:02:59 +0000 (08:02 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 3 Mar 2023 07:02:59 +0000 (08:02 +0100)
commit01f85d835bb10d18bdab2cc780ea5ad47004516d
tree4c0a23646697b434d062b613578fa25b4549dd90
parent53bd16bcc0d0f5ed5d1ac6d6dc14bf6ecf2e2c43
libs/guest: Fix resource leaks in xc_core_arch_map_p2m_tree_rw()

Edwin, with the help of GCC's -fanalyzer, identified that p2m_frame_list_list
gets leaked.  What fanalyzer can't see is that the live_p2m_frame_list_list
and live_p2m_frame_list foreign mappings are leaked too.

Rework the logic so the out path is executed unconditionally, which cleans up
all the intermediate allocations/mappings appropriately.

Fixes: bd7a29c3d0b9 ("tools/libs/ctrl: fix xc_core_arch_map_p2m() to support linear p2m table")
Reported-by: Edwin Török <edwin.torok@cloud.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
master commit: 1868d7f22660c8980bd0a7e53f044467e8b63bb5
master date: 2023-02-27 15:51:23 +0000
tools/libs/guest/xg_core_x86.c